package session;

import entity.Utente;
import entity.Wish;
import javax.ejb.Remote;

/**
 * Gestisce la trasmissione di e-mail dal sito agli utenti destinatari.
 *
 * @author Rachid Ouchary, Fabio Strocco, Max Passaghe, Marco Tansini.
 */
@Remote
public interface MailUtilRemote {
    /**
     * Invia un e-mail all'utente appena registrato, per confermare la sua
     * registrazione.
     *
     * @param user l'utente a cui notificare l'avvenuta registrazione.
     */
    public void sendRegistrationMail(Utente user);

    /**
     * Invia un e-mail all'utente appena aggiunto, per confermare la sua
     * registrazione.
     *
     * @param mittente l'utente che ha effettuato l'aggiunta.
     * @param destinatario l'utente a cui notificare l'avvenuta aggiunta.
     */
    public void sendFriendMail(Utente mittente, Utente destinatario);

    /**
     * Invia un e-mail all'utente che ha espresso il desiderio che si &egrave
     * prenotato.
     *
     * @param wish il desiderio espresso.
     */
    public void sendPrenotazioneMail(Wish wish);
}
